home *** CD-ROM | disk | FTP | other *** search
/ Network Supervisor's Toolkit / Network Supervisor's Toolkit.iso / menus / mcmenu / mcmenu.doc next >
Text File  |  1996-07-10  |  7KB  |  184 lines

  1. MCMenu    Docs
  2.  
  3. Ver 0.000
  4.         ^ bug fix
  5.       ^^  minor rev
  6.     ^     major rev
  7. Turbo Pascal 5.5
  8.  
  9. Started                   Nov  18 1991
  10.  
  11. Current Version 1.520     August 24 1992
  12.  
  13. Written by: Tony Bigras   Bigras@mala.bc.ca
  14.  
  15. Public Domain, Absolutly NO liability accepted !
  16.  
  17. Processes Novell type menu file.
  18.      See Novell docs for info on menu structure.
  19.  
  20. Advantages over Novell menu program:
  21.      Uses 0K.
  22.      Does not leave menufile open so menufile is not locked.
  23.      Works off a hard drive, no network needed, So hard drive and network
  24.      menus can have the same interface.
  25.      Built in screen blanker while on the menu screen.
  26.      Mouse support.
  27.      Marks submenus for easy identification.
  28.      Allows top and bottom wrap around.
  29.      Can logout from menu.
  30.      Can load TSRs.
  31.      Can use environment variable 'MN' for menu name
  32.        allowing all users to restart menu with 'MCMENU'.
  33.      Can disable escape from menu.
  34.      Has hooks for remote procedure calls from other stations.
  35.      Improved AlphaKeying  { Can you see the diference }
  36.  
  37. Differences from Novell menu:
  38.      No sorting of menu items, they appear in the order in file.
  39.      Ignores Novell colour and location entries
  40.           everything is standard colour and centred.
  41.      Limited to 4000 lines in menu file.
  42.      Limited to 21 items per menu 200 sub menus.
  43.  
  44. NOTE uses Command Line { first } or Environment Var MN to name menu to use.
  45. If no file extension given assumes .MNU.
  46.  
  47. Mouse support for microsoft mouse:
  48.      Left button = RETURN
  49.      Right button = ESC
  50.      Up and down = up down keys
  51.      No mouse pointer just key translation.
  52.  
  53. Screen blanks after 5 minutes. First keystroke is eaten up when unblanking.
  54.  
  55. If first character of last line in menu file is '!' then the last
  56. line is a control line. If last line is a control line the first
  57. '!' is discarded and the remainder of the line is scanned for the
  58. following characters.
  59.      !   no escape
  60.      R   enable RPC
  61.      L   Log all program launches to  S:\LOG\LOG.TXT  
  62.      M  Have menu return to exit location rather than first item of first menu
  63.  
  64. How it all works:
  65.      The program processes the Novell menu and presents it to the user.
  66.      When the user makes their choice the X.BAT file is created in
  67.      the current directory.  This contains the list of commands for
  68.      the selected item. And the command program.path.progname menuname.
  69.      The program then cleans up its environment
  70.      in preparation for termination.  Just before termination the
  71.      keyboard buffer is cleared then stuffed with the char X and CR.
  72.      upon exiting the program { and any batch file that called it }
  73.      the batch file X.BAT is run.  This way except for a few bytes
  74.      for DOS data space for processing the batch file, no memory is
  75.      used.  The last line in the X.BAT re-runs MCMENU.
  76.  
  77. Remote Procedure Calls:
  78.      Only started in version 1.00
  79.      Hooks will become functional in 2.0.
  80.      Requires NetBIOS.
  81.      Will eventually allow custom applications to
  82.      use all pc resources on net to process their
  83.      compute intensive routines while PCs sit on menu.
  84.  
  85.      Suggested applications include:
  86.           Raytracing   { Renderman Engine }
  87.           Fractals    { Demo under development }
  88.  
  89.      Please contact me re your requirements in this area.
  90.  
  91. Known Problems:
  92.      Screen blanker can interfere with Intel LanSkool if
  93.      teacher broadcasts happen when MCMenu is running.
  94.      This appears to be because  LanSkool does not
  95.      shut off the application it pops up over.
  96.      The blanker in MCMenu is based on polled keyboard activity
  97.      and is not an interrupt driven function.
  98.  
  99. Version 0.902 enhancements over ver 0.800
  100.      Multi level sub menu support 200 menus total, instead of single sub level.
  101.      4000 line max file size, up from 400
  102.      Mouse response tuned.
  103.      Bug fix re @VARS on first menu and stack overflow on subs.
  104.      Menu identifers no longer case sensitive.
  105.  
  106. Version 0.910
  107.      21 items per menu, up from 20.
  108.      No wrap on Confirm Exit menu.
  109.      SpaceBar no longer a down key on menu.
  110.      AlphaKeying on menus.
  111.      Better error messaging.
  112.  
  113. Version 0.912
  114.      Escape works from exit menu { before it really escaped!! }
  115.      Fixed bug with discarded location info on subs showing in title
  116.  
  117. Version 0.930
  118.      Debug code taken out RPC test code taken out.
  119.  
  120. Version 1.000
  121.      First production release with source code.
  122.  
  123. Version 1.001
  124.      Bug fix of menu alpha keying.
  125.  
  126. Version 1.002
  127.      Bug fix of writing bat file to accomodate dos 5.0 as it wanted to
  128.      continue reading past the end of the old batch file due to a
  129.      writeln rather than a write.
  130.  
  131. Version 1.010
  132.      Added pathed menu program name to last line of batch file.
  133.      DOS searchs for menu data file. IF DOS can't find it then
  134.      search program DIR.
  135.      This allows the program name to be changed and improves
  136.      access to the menu program when users change directories.
  137.  
  138. Version 1.011
  139.       Changed error sound.  Corrected spelling error in 'Tuesday'
  140.  
  141. Version 1.500
  142.        Application Logging option.  Invoked with the 'L'  control , this logs 
  143.        the item name when launched. Also records username from env var
  144.        USRN if available.   Currently hard coded to  S:\LOG\LOG.TXT
  145.        This directory must have Read Open Search and Wrtie  rights
  146.        and the LOG.TXT must be NONSharable RW
  147.        Logs to a ASCII text file format one launch per line with date time.
  148.  
  149. Version 1.510
  150.        NoRerun  parameter type control.  The following  !MC!   at the begining
  151.        of the last line in a item group will cause the extra batch line that
  152.        reruns the menu not to be written.  This is usefull when logging out
  153.        as the error 'batchfile not found' does not occure, and is usefull
  154.        as well for chaining to other menus as the new menu will not have
  155.        a batch tail to process when it exits.
  156.        
  157.        Example :      !MC!  @LOGOUT
  158.  
  159.        A particularly handy use is to have a custom user menu set with
  160.        the MN env var and to have that user run a shared menu from
  161.        their menu by using !MC! MCMENU Z:SHARED.MNU  
  162.        The shared menu could return to the users menu
  163.        by just using !MC! MCMENU   which would use the MN env var
  164.  
  165. Version 1.520
  166.        Return to old menu selection option.  Invoked with the 'M'  control, this
  167.        causes the menu to be reentered at the exit location item.  This hack is
  168.        done by having an extra command line parameter written to the rerun
  169.        menu line.  This 2nd parameter is a single string of 2 char 
  170.        representations of the menu cascade.  
  171.        
  172.        Example:   MCMENU C:\JUNK.MNU 020302
  173.        
  174.        This will go to item 2 on the first menu { which should be a submenu }
  175.        and to item 3 on that menu { which should be a submenu } and then
  176.        stop on item 2  which would be the item that was last run.
  177.        This extra parameter is normall created by MCMENU when the 'M'  control
  178.        is active, but could be invoked off a inital menu startup command 
  179.        provided that the menu also contained the 'M'  control
  180.        
  181.        Cosmetic change made to menus to provide white space on the
  182.        right side.   Maximum menu item width is now 74 chars from
  183.        75.
  184. ok